const WS = require('ws')
;(function (WS) {
  //ws:localhost:8000
  const Server = new WS.Server({ port: 8000 })

  const init = () => {
    bindEvent()
  }
  function bindEvent() {
    Server.on('open', handleOpen)
    Server.on('close', handleClose)
    Server.on('error', handleError)
    Server.on('connection', handleConnection)
  }
  function handleOpen() {
    console.log('handleOpen');
  }
  function handleClose() {
    console.log('handleClose');
  }
  function handleError() { 
    console.log('handleError');
  }
  function handleConnection(ws) {
    console.log('handleConnection');
    ws.on('message', handleMessage)
  }
  function handleMessage(msg) {
    console.log('handleMessage', msg);
    msg = msg.toString()
    console.log(msg);
    Server.clients.forEach(function (client) {
      console.log(client);
      client.send(msg)
    })
  }
  
  init()
})(WS)
